package geeks.web;

//import java.util.ArrayList;


//import java.text.SimpleDateFormat;
import java.util.Collection;
//import java.util.Date;


//import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//import junit.framework.Assert;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;








import geeks.excepcion.DAOExcepcion;
import geeks.modelo.Idea;
//import geeks.excepcion.DAOExcepcion;
//import geeks.modelo.Pago;
import geeks.modelo.Persona;
import geeks.negocio.GestionIdeas;
///import geeks.negocio.GestionPago;
import geeks.negocio.GestionPersonas;

@Controller
public class AsignarAsesorController {
	
	//
	@RequestMapping(value = "/AsignaAsesor", method = RequestMethod.GET)	
	protected ModelAndView AsignarAsesorini(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
    
		//ini p buscar
        System.out.println("Correo ingresado...e");
        System.out.println(request.getParameter("txtCorreo"));
        String nombre = null;
        
        if (request.getParameter("txtCorreo") != null)
        {
            nombre = request.getParameter("txtCorreo").toString();
        }
        else
        {
            nombre = "";
        }
        ///fin buscar
	
		GestionPersonas negocio = new GestionPersonas();
		
		Collection<Persona> listado=null;

		listado = negocio.listarPro(nombre);//para buscar
		return new ModelAndView("AsignaAsesor","ASIGNAR",listado);

	}
	
    @RequestMapping(value = "/asigna_editar", method = RequestMethod.GET)
protected ModelAndView asigna_editar(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
    
    //ya tengo el id de profesor guradado en caja texto
    //luego listo las ideas para escoger
    
		//ini p listar idea
        System.out.println("Listado ingresado...");
        System.out.println(request.getParameter("txtCorreo"));
        String nombre = null;
        
        if (request.getParameter("txtCorreo") != null)
        {
            nombre = request.getParameter("txtCorreo").toString();
        }
        else
        {
            nombre = "";
        }
        ///fin buscar

		GestionIdeas negocio = new GestionIdeas();
		Collection<Idea> listado=null;

		listado = negocio.listarIdea(nombre);//para buscar
		return new ModelAndView("asigna_editar","ASIGNAR2",listado);
            
    }
    
    //ini: recibo el valor idi=idea y idp=profesor para editar idea con codigo de profesor= asesor
    //						emprendedor_editar
    @RequestMapping(value = "/idea_editar_asignar", method = RequestMethod.GET)
protected ModelAndView idea_editar_asignar(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
    											//emprendedor_editar

        		ModelAndView modelAndView = new ModelAndView("idea_editar_asignar");

        		Idea cat = new Idea();
        		GestionIdeas negocio = new GestionIdeas();
        		cat = negocio.obtenerxid(Integer.parseInt(request.getParameter("idi")));
		
                System.out.println("idEmprendedor "+request.getParameter("idi"));
                 
                modelAndView.addObject("IDEAEN", cat);
                
                return modelAndView;

    }    //fin
    
    @RequestMapping(value = "/guardarModificacionIdea", method = RequestMethod.POST)
protected ModelAndView modificarIdea(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
    	System.out.println("guardarModificacionIdea");
	/*
    	Idea cat = new Idea();
        GestionIdeas negocio = new GestionIdeas();

        cat.setCodigo(Integer.parseInt(request.getParameter("id")));
        
        int profesor = Integer.parseInt(request.getParameter("txtidprofesor"));
   
        cat.setTitulo(request.getParameter("txtTitulo"));         
        cat.setDescripcion(request.getParameter("txtDes"));
        //cat.setFecha(request.getParameter("txtFecha"));
        cat.setPalabraClave1(request.getParameter("txtC1"));
        cat.setPalabraClave2(request.getParameter("txtC2"));
        cat.setPalabraClave3(request.getParameter("txtC3"));
        cat.setPalabraClave4(request.getParameter("txtC4"));
        cat.setEstado(request.getParameter("txtEstado"));
        cat.setArchivo(request.getParameter("txtArchivo"));

           
        //SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        //Date fecha;
        //fecha = df.parse(request.getParameter("txtFecNac").toString());
            
        //cat.setFechaNacimiento(fecha);
       
	
	try {
                negocio.actualizarEmprendedor(cat);
	} catch (Exception e) {
		return new ModelAndView("/error", "mensaje", e.getMessage());
	}
            //return new ModelAndView("emprendedor_editar", "EMPRENDEDORES",  cat);
	return new ModelAndView("redirect:MantEmprendedor.html");
            //return new ModelAndView
	*/
    	Idea obj = new Idea();
    	//
    	
        //GestionIdeas negocio = new GestionIdeas();

        obj.setCodigo(Integer.parseInt(request.getParameter("txtId")));
    	//

		obj.setTitulo(request.getParameter("txtTitulo"));
		obj.setDescripcion(request.getParameter("txtDes"));
		obj.setPalabraClave1(request.getParameter("txtC1"));
		obj.setPalabraClave2(request.getParameter("txtC2"));
		obj.setPalabraClave3(request.getParameter("txtC3"));
		obj.setPalabraClave4(request.getParameter("txtC4"));
        obj.setEstado(request.getParameter("txtEstado"));
        obj.setArchivo(request.getParameter("txtArchivo"));
		//int alumno = Integer.parseInt(request.getParameter("cboEstudiante"));
		int profesor = Integer.parseInt(request.getParameter("txtidprofesor"));


		try {
			GestionIdeas neg = new GestionIdeas();

			Idea idea = neg.insertarAsesorIdeas(profesor,obj.getCodigo(), obj.getTitulo(),
					obj.getDescripcion(), obj.getPalabraClave1(),
					obj.getPalabraClave2(), obj.getPalabraClave3(),
					obj.getPalabraClave4(),obj.getEstado(), obj.getArchivo());

			if (idea != null) {
				request.setAttribute("RESULTADO", "La idea \"" + obj.getTitulo() + "\".fue editada correctamente.");
				return new ModelAndView("AsignaAsesor", "IDEA", idea);
			} else {
				throw new Exception(
						"Error al actualizar los datos de la idea \"" + obj.getTitulo() + "\".\nDebe completar todos los campos correctamente.");
			}
		} catch (DAOExcepcion e) {
			return new ModelAndView("AsignaAsesor", "ERROR", e.getMessage());
		} catch (Exception e) {
			return new ModelAndView("AsignaAsesor", "ERROR", e.getMessage());
			//return new ModelAndView("redirect:AsignaAsesor.html");
		}
		
    }
 
	
	
}